import type { PropType } from 'vue';

const menuProps = {
	menus: {
		type: Array as PropType<any[]>,
		default: () => [],
	},
	defaultExpands: {
		type: Array as PropType<string[]>,
		default: () => [],
	},
	mode: {
		type: String,
		default: 'LEFT',
	},
	openViewCodeName: {
		type: String,
	},
	selections: {
		type: Array as PropType<string[]>,
		default: () => [],
	},
	counterData: {
		type: Object,
		default: {},
	},
	context: {
		type: Object,
		default: {},
	},
	viewParams: {
		type: Object,
		default: {},
	},
};

const menuItemProps = {
	item: {
		type: Object,
		default: {},
	},
	counterData: {
		type: Object,
		default: {},
	},
};

const menuItemContentProps = {
	item: {
		type: Object,
		default: {},
	},
};

export const MenuProps = menuProps;
export const MenuItemProps = menuItemProps;
export const MenuItemContentProps = menuItemContentProps;
